﻿//			/*2024-07-25_vector的特性及使用等_作业*/
//
////下面这个代码输出的是()
////
////﻿#include <iostream>
////
////#include <vector>
////
////using namespace std;
////
////int main(void)
////{
////	vector<int>array;
////	array.push_back(100);
////	array.push_back(300);// 被erase
////	array.push_back(300);// 被跳过
////	array.push_back(300);// 被erase
////	array.push_back(300);// 被跳过
////	array.push_back(500);
////
////	vector<int>::iterator itor;
////
////	for (itor = array.begin(); itor != array.end(); itor++)
////	{
////		if (*itor == 300)
////		{
////			itor = array.erase(itor);
////		}
////	}
////
////	for (itor = array.begin(); itor != array.end(); itor++)
////	{
////		cout << *itor << " ";
////	}
////
////	return 0;
////}
////
////
/////*
////作业内容
////A.100 300 300 300 300 500
////B.100 3OO 300 300 500
////C.100 300 300 500
////D.100 300 500
////E.100 500
////F.程序错误
////*/
//
//
//#include <iostream>
//#include <cstring>
//#include <algorithm>
//#include <vector>
//#include <cmath>
//#include <unordered_map>
//#include <unordered_set>
//#include <map>
//#include <set>
//#include <queue>
//#include <stack>
//#include <deque>
//#include <functional>
//#include <climits>
//
//#define quickio ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
//#define endl "\n"
//
//using namespace std;
//typedef long long ll;
//
//// 137. 只出现一次的数字 II
//// https://leetcode.cn/problems/single-number-ii/
//
//// 法一：哈希
//// 法二：仍然是二进制的方法
//// 考虑答案的第 i 个二进制位（i 从 0 开始编号），它可能为 0 或 1。对于数组中非答案的元素，每一个元素都出现了 3 次，对应着第 i 个二进制位的 3 个 0 或 3 个 1，无论是哪一种情况，它们的和都是 3 的倍数（即和为 0 或 3）。
//
//class Solution {
//public:
//    int singleNumber(vector<int>& nums)
//    {
//        int book[32] = { 0 };
//        int size = nums.size();
//        for (int i = 0; i < size; i++)
//        {
//            int x = nums[i];
//            for (int j = 0; x && j < 32; j++)
//            {
//                book[j] += (x & 1);
//                x >>= 1;
//            }
//        }
//
//        int n = 0;
//        ll ans = 0;
//        for (int i = 0; i < 32; i++)
//        {
//            if (book[i] % 3 == 1)
//            {
//                ans += pow(2, n);
//            }
//            n++;
//        }
//        // cout << (int)ans;
//        return (int)ans;
//    }
//};
//
//
//int main()
//{
//    Solution a;
//    vector<int>v = { -2,-2,1,1,4,1,4,4,-4,-2 };
//    a.singleNumber(v);
//    return 0;
//}